package de.fhl.view;

/**
 * Ueberschrift:  OnlineWahl
 * Copyright:     Copyright (c) 2010 
 * Organisation:  FH Luebeck - Virtuelle FH
 */

import javax.swing.JLabel;
import javax.swing.JRadioButton;
import javax.swing.JTextArea;

import de.fhl.model.AuswertungWahl;
import de.fhl.model.ModelKonsole;
import de.fhl.subWahlListen.SucheErststimme;

/**
 * Die Klasse WahlzettelKonsole gibt den Wahlzettel auf der Konsole aus<br>
 * 
 * @author Achim Krumrein (krumreia@stud.fh-luebeck.de)
 * @author Thomas Weber (webertho@googlemail.de)
 * @version 1.0
 */
public class WahlzettelKonsole {

	public WahlzettelKonsole() {
		// Konstruktor
	}
	
	public String Ausgabe(int Wahlkreis) {
		
		ModelKonsole Konsole = new ModelKonsole(); 
		String Erststimme = "keine gültige Stimme";
		String Zweitstimme = "keine gültige Stimme";

		System.out.println("\n------ OnlineWahl Wahlzettel ------\n");
		System.out.println("\nSie erhalten für jeden Listeneintrag die Frage ob Sie dem Kandidaten aus Ihrem Wahlkreis eine Stimme geben möchten oder nicht. " +
				"			\nSobald Sie einem Kandidaten eine Stimme vergeben haben werden keine neuen Einträge mehr gezeigt. " +
				"			\nAm Ende müssen Sie Ihre Wahl nochmal bestätigen oder Sie haben die Möglichkeit das Ganze nocheinmal durchzuführen." +
				"           \nSollten Sie keine gültige Stimme abgeben ist der Wahlzettel im Sinne des Wahlrechtes ungültig." +
				"			\n\nDie Auflistung ist im Format Wahlkreis; Partei Kurzbezeichnung; Partei Langbezeichnung; Kandidat(en);");

		// Vorgegebene Pateien für die Erststimme
		String[] ParteienErststimme = {"CDU", "SPD", "Grüne", "FDP", "Die Tierschutzpartei", "Familie", "Piraten"};
		
		// Erststimme
		
		System.out.println("\n-- Erstimme --\n");
		SucheErststimme se = new SucheErststimme();
		int faktor = 0;
		
		
		System.out.println("Folgende Kandidaten stehen für Ihren Wahlkreis (" + Wahlkreis + ") zur Verfügung:\n");
		
		do {
			System.out.println(se.wahlList(Wahlkreis, ParteienErststimme[faktor]));
				faktor ++;
		}
		while (faktor <=6);
		
		faktor = 0;
		
		System.out.println("\nBitte wählen Sie nun Ihren Kandidat für die Erststimme:");
		
		do {
			System.out.println("\nStimme fuer: " + se.wahlList(Wahlkreis, ParteienErststimme[faktor]) + " (j/n):");
			if (Konsole.vergleichAufJa(Konsole.einlesen())){
				
				Erststimme = se.wahlList(Wahlkreis, ParteienErststimme[faktor]);
				//System.out.println("Ja -> ausgewählt: " + Erststimme);
				faktor = 7;
			}
			else {
				//System.out.println("Nein");
				faktor ++;
			}
			if (faktor == 7){
				System.out.println("Sie haben sich für die Erststimme für den folgenden Kandidaten etnschieden:\n" + Erststimme);
				System.out.println("\nIst das richtig? (j/n)");
				if (Konsole.vergleichAufJa(Konsole.einlesen())){
					//System.out.println("Ja -> ausgewählt: " + Erststimme);
					faktor = 7;
				}
				else {
					System.out.println("Sie bekommen ein weiteres Mal die Auswahl:\n");
					Erststimme = "keine gültige Stimme";
					faktor = 0;
				}
			}
		}
		while (faktor <=6);
		
		// Zweitstimme
		
		System.out.println("\n-- Zweitstimme --\n");
		
		String[] ParteienZweitstimme = {"CDU; Christlich Demokratische Union Deutschlands; \nDr. Jürgen Rüttgers, Eckhard Uhlenberg, Regina van Dinther, Karl-Josef Laumann, Armin Laschet;",
										"SPD; Sozialdemokratische Partei Deutschlands; \nHannelore Kraft, Norbert Römer, Svenja Schulze, Hans-Willi Körfges, Ute Schäfer;",
										"GRÜNE; Bündnis 90/Die GRÜNEN; \nSylvia Löhrmann,Reiner Priggen, Barbara Steffens, Johannes Remmel, Sigrid Beer;",
										"FDP; Freie Demokratische Partei; \nDr. Andreas Pinkwart, Dr. Ingo Wolf, Dr. Gerhard Papke, Angela Freimuth, Dr. Robert Orth;",
										"Die Tierschutzpartei; Mensch Umwelt Tierschutz; \nMonika Thau, Michael Sielhoff, Marion Anneliese Schäfer, Sara Kaute, Sascha-Liesa Germer;",
										"FAMILIE; Familien-Partei Deutschlands; \nMaria Hartmann, Dr. Dorthea Böhm, Heiner Leslie, Otto Chritinick, Heinrich Oldenburg;",
										"PIRATEN; Piratenpartei Deutschland; \nNicolaus Kern, Hans Immanuel Herbers, Dirk Schatz, Simone Brand, Christian Horchert"};
				
		
		System.out.println("Folgende Kandidaten stehen Ihnen für die Zweitstimme zur Verfügung:\n");
		
		faktor = 0;
		
		do {
			System.out.println("\n" + ParteienZweitstimme[faktor]);
				faktor ++;
		}
		while (faktor <=6);
		
		faktor = 0;
		
		System.out.println("\nBitte wählen Sie nun Ihre(n) Kandidat(en) für die Zweitstimme:");
		
		do {
			System.out.println("\nStimme fuer:\n" + ParteienZweitstimme[faktor] + " \n(j/n):");
			if (Konsole.vergleichAufJa(Konsole.einlesen())){
				
				Zweitstimme = ParteienZweitstimme[faktor];
				//System.out.println("Ja -> ausgewählt: " + Zweitstimme);
				faktor = 7;
			}
			else {
				//System.out.println("Nein");
				faktor ++;
			}
			if (faktor == 7){
				System.out.println("Sie haben sich für die Zweitstimme für die bzw. den folgenden Kandidat(en) etnschieden:\n" + Zweitstimme);
				System.out.println("\nIst das richtig? (j/n)");
				if (Konsole.vergleichAufJa(Konsole.einlesen())){
					//System.out.println("Ja -> ausgewählt: " + Zweitstimme);
					faktor = 7;
				}
				else {
					System.out.println("Sie bekommen ein weiteres Mal die Auswahl:\n");
					Zweitstimme = "keine gültige Stimme";
					faktor = 0;
				}
			}
		}
		while (faktor <=6);
		
		System.out.println("\nHerzlichen Glückwunsch, Sie haben folgende Wahl abgegeben:\nErstimme: " + Erststimme + "\nZweitstimme: " + Zweitstimme);
		System.out.println("Ihre Auswahl wird nun anonymisiert in die Wählerdatenbank übertragen. Vielen Dank für die Nutzung unseres Systems.");
		
		return Erststimme + Zweitstimme;
		
	}

	
}
